import os
import random

def generate_test_cases():
    test_cases = []
    
    # 生成 4 个 20% 的测试数据，范围 [2023, 2040]
    for _ in range(4):
        test_cases.append(random.randint(2023, 2040))
    
    # 生成 16 个完整测试数据，范围 [2023, 9999]
    for _ in range(16):
        test_cases.append(random.randint(2023, 9999))
    
    # 打乱测试数据顺序，确保随机性
    random.shuffle(test_cases)
    return test_cases

def write_test_cases(test_cases, output_dir):
    # 如果目录不存在，则创建目录
    os.makedirs(output_dir, exist_ok=True)
    
    # 按顺序写入文件，文件名格式：数字.in
    for idx, value in enumerate(test_cases, start=1):
        file_name = f"{idx}.in"
        file_path = os.path.join(output_dir, file_name)
        with open(file_path, "w") as f:
            f.write(str(value))
        print(f"写入 {file_path}: {value}")

if __name__ == "__main__":
    # 固定随机种子保证结果可复现，调试时可以注释
    random.seed(42)
    
    # 生成测试数据
    test_cases = generate_test_cases()
    
    # 指定输出目录
    output_directory = r"C:\Users\ASUS\Desktop\2025-BBUCPC\2025校赛出题\A题\A_inputs"
    
    # 写入文件
    write_test_cases(test_cases, output_directory)
